package com.ruoyi.business.bo;

/**
 * @title: RefundBO
 * @copyright: copyright (c) 2023
 * @author: jiangguanjun
 * @date: 2023/10/31 14:20
 * @firstReview:
 * @lastReview:
 * @desc:
 */
public class RefundBO {
    /**
     *【微信支付订单号】 原支付交易对应的微信订单号，与out_trade_no二选一
     */
    private String transaction_id ;
    /**
     *【商户订单号】 原支付交易对应的商户订单号，与transaction_id二选一
     */
    private String out_trade_no ;
    /**
     *【商户退款单号】 商户系统内部的退款单号，商户系统内部唯一，只能是数字、大小写字母_-|*@ ，同一退款单号多次请求只退一笔
     */
    private String out_refund_no ;
    /**
     *【退款原因】 若商户传入，会在下发给用户的退款消息中体现退款原因
     */
    private String reason ;
    /**
     *【退款结果回调url】 异步接收微信支付退款结果通知的回调地址，通知url必须为外网可访问的url，不能携带参数。 如果参数中传了notify_url，则商户平台上配置的回调地址将不会生效，优先回调当前传的这个地址。
     */
    private String notify_url ;

    private RefundAmount refundAmount ;
    /**
     * 订单表中的id
     */
    private Integer orderId ;

    private Integer uId ;

    public Integer getuId() {
        return uId;
    }

    public void setuId(Integer uId) {
        this.uId = uId;
    }

    public Integer getOrderId() {
        return orderId;
    }

    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    public String getTransaction_id() {
        return transaction_id;
    }

    public void setTransaction_id(String transaction_id) {
        this.transaction_id = transaction_id;
    }

    public String getOut_trade_no() {
        return out_trade_no;
    }

    public void setOut_trade_no(String out_trade_no) {
        this.out_trade_no = out_trade_no;
    }

    public String getOut_refund_no() {
        return out_refund_no;
    }

    public void setOut_refund_no(String out_refund_no) {
        this.out_refund_no = out_refund_no;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public String getNotify_url() {
        return notify_url;
    }

    public void setNotify_url(String notify_url) {
        this.notify_url = notify_url;
    }

    public RefundAmount getRefundAmount() {
        return refundAmount;
    }

    public void setRefundAmount(RefundAmount refundAmount) {
        this.refundAmount = refundAmount;
    }

    public static class RefundAmount{
        /**
         * 【退款金额】 退款金额，单位为分，只能为整数，不能超过原订单支付金额。
         */
        private Integer refund ;

        public Integer getRefund() {
            return refund;
        }

        public void setRefund(Integer refund) {
            this.refund = refund;
        }
    }

}
